import request from '@/router/axios';
import options from '@/router/options'

/**
 * 分页列表配置参数
 */
export const getTableOption = () => options.load('/options/system/admin/role-table.json')

/**
 * 表单配置参数
 *
 * @returns {*}
 */
export const getFormOption = () => options.load('/options/system/admin/role-edit-form.json')

/**
 * 查询分页数据
 * 
 * @param {*} parameter 请求参数
 */
export const getTableData = (parameter) => request({
    url: '/api/system/admin/roles',
    method: 'get',
    params: parameter
})

/**
 * 查询详情数据
 * 
 * @param {*} parameter 
 */
export const getDetailData = (parameter) => request({
    url: `/api/system/admin/roles/${parameter.id}`,
    method: 'get',
    params: parameter
})

/**
 * 查询map
 *
 * @param {*} parameter 请求参数
 */
export const getMapData = () => request({
    url: '/api/system/admin/roles/map',
    method: 'get',
    params: {}
})

/**
 * 新增一个
 * 
 * @param {object} parameter 
 */
export const createAt = (parameter) => request({
    url: '/api/system/admin/roles',
    method: 'post',
    data: parameter 
})

/**
 * 修改一个
 * 
 * @param {object} parameter 
 */
export const updateAt = (parameter) => request({
    url: `/api/system/admin/roles/${parameter.id}`,
    method: 'patch',
    data: parameter 
})

/**
 * 删除一个
 * 
 * @param {object} parameter id
 */
export const deleteAt = (parameter) => request({
    url: `/api/system/admin/roles/${parameter.id}`,
    method: 'delete',
})

/**
 * 查询关联数据
 *
 * @param parameter
 */
export const getRelevantData = (parameter) => request({
    url: '/api/system/admin/role/menu-options',
    method: 'get',
    params: parameter
})

/**
 * 创建关联
 *
 * @param parameter
 */
export const createRelevantAt = (parameter) => request({
    url: '/api/system/admin/role/menu-options',
    method: 'post',
    data: parameter
})

/**
 * 删除关联
 *
 * @param parameter
 */
export const deleteRelevantAt = (parameter) => request({
    url: '/api/system/admin/role/menu-options',
    method: 'delete',
    params: parameter
})
